/**
 * Moondance UML modeling tool
 * 
 * @author Dascalu Laurentiu (dascalu.laurentziu@gmail.com).
 * 
 * This program is free software; you can redistribute it and
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 3
 * of the License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

package ro.pub.cs.se.moondance.xmi.converter;

/**
 * Common interface for the XMI classes.
 */
public class XMICommon {
	/**
	 * Common XMI reserved keywords for tags.
	 */

	// Class diagram
	public final static String XMI_TYPE = "xmi:type";
	public final static String XMI_ID = "xmi:id";

	public final static String NAME = "name";
	public final static String TYPE = "type";
	public final static String ASSOCIATION = "association";
	public final static String VALUE = "value";
	public final static String AGGREGATION = "aggregation";

	public final static String GENERALIZATION = "generalization";
	public final static String GENERAL = "general";

	public final static String MEMBER_END = "memberEnd";
	public final static String UPPER_VALUE = "upperValue";
	public final static String LOWER_VALUE = "lowerValue";

	public final static String PACKED_ELEMENT = "packagedElement";
	public final static String OWNED_END = "ownedEnd";

	// Predefined types
	public final static String UML_LITERAL_INTEGER = "uml:LiteralInteger";
	public final static String UML_LITERAL_UNLIMITED_NATURAL = "uml:LiteralUnlimitedNatural";
	public final static String UML_LITERAL_STRING = "uml:LiteralString";

	public final static String UML_CLASS = "uml:Class";
	public final static String UML_INTERFACE = "uml:Interface";
	public final static String UML_PACKAGE = "uml:Package";

	// Predefined connections ids
	public final static String UML_ASSOCIATION = "uml:Association";
	public final static String UML_DIRECT_ASSOCIATION = "uml:Direct-Association";

	public final static String UML_REALIZATION = "uml:Realization";

	public final static String AGGREGATION_COMPOSITE = "composite";
	public final static String AGGREGATION_SHARED = "shared";

	// Methods + members
	public final static String VISIBILITY = "visibility";
	public final static String DEFAULT_VALUE = "defaultValue";

	public final static String PROPERTY = "property";
	public final static String OPERATION = "operation";

	public final static String RETURN = "return";
	public final static String IN = "in";

	public final static String OWNED_ATTRIBUTE = "ownedAttribute";
	public final static String OWNED_OPERATION = "ownedOperation";
	public final static String OWNED_PARAMETER = "ownedParameter";

	public final static String IS_STATIC = "isStatic";
	public final static String IS_ABSTRACT = "isAbstract";
	public final static String DIRECTION = "direction";

	public final static String SUPLIER = "supplier";
	public final static String CLIENT = "client";
	public final static String COMPOSITE = "composite";
	public final static String SHARED = "shared";
	public final static String CLIENT_DEPENDENCY = "clientDependency";

	// State diagram
	public final static String UML_STATE_MACHINE = "uml:StateMachine";
	public final static String UML_FINAL_STATE = "uml:FinalState";
	public final static String UML_PSEUDO_STATE = "uml:Pseudostate";
	public final static String UML_STATE = "uml:State";
	public final static String REGION = "region";
	public final static String SUBVERTEX = "subvertex";
	public final static String TRANSITION = "transition";
}
